/*
 * 封装ajax方法，此功能如下几点
 * 1.处理页面-前端的请求错误如：404，502
 * 2.处理后台2010、100、其他的响应
 * 3。超时错误
 * 参数形式:json类型
 * 默认值:json、post、异步true、登录、body、参数：{}
 * 规范:{method,async,surl,dType,params,befFn,sFn,errFn,linkURL,selectOther,selectTimeout}
 * 必须传的参数:surl
 */
function ajaxResponse(jsonParam) {
    //初始化参数，防止其他参数没有传
    var _url = '../../ahtmls/login.html';
    jsonParam.method = typeof(jsonParam.method) != 'undefined' ? jsonParam.method : 'POST';
    jsonParam.dAsync = typeof(jsonParam.dAsync) != 'undefined' ? jsonParam.dAsync : false;
    jsonParam.dType = typeof(jsonParam.dType) != 'undefined' ? jsonParam.dType : 'json';
    jsonParam.params = typeof(jsonParam.params) != 'undefined' ? jsonParam.params : {};

    jsonParam.linkURL = typeof(jsonParam.linkURL) != 'undefined' ? jsonParam.linkURL : _url;
    jsonParam.selectOther = typeof(jsonParam.selectOther) != 'undefined' ? jsonParam.selectOther : 'body';
    jsonParam.selectTimeout = typeof(jsonParam.selectTimeout) != 'undefined' ? jsonParam.selectTimeout : 'body';
    var _href = 'back_login.html';

    var html = '<div class="sk-spinner sk-spinner-fading-circle">' +
        '<div class="sk-circle1 sk-circle"></div>' +
        '<div class="sk-circle2 sk-circle"></div>' +
        '<div class="sk-circle3 sk-circle"></div>' +
        '<div class="sk-circle4 sk-circle"></div>' +
        '<div class="sk-circle5 sk-circle"></div>' +
        '<div class="sk-circle6 sk-circle"></div>' +
        '<div class="sk-circle7 sk-circle"></div>' +
        '<div class="sk-circle8 sk-circle"></div>' +
        '<div class="sk-circle9 sk-circle"></div>' +
        '<div class="sk-circle10 sk-circle"></div>' +
        '<div class="sk-circle11 sk-circle"></div>' +
        '<div class="sk-circle12 sk-circle"></div>' +
        '</div>';

    $.ajax({
        type: jsonParam.method,
        url: jsonParam.surl,
        dataType: jsonParam.dType,
        async: jsonParam.dAsync,
        data: jsonParam.params,
        timeout: 5000,
        beforeSend: function() {
            $(jsonParam.selectOther).append(html);
            jsonParam.befFn && jsonParam.befFn();
        },
        success: function(data, textStatus, jqXHR) {
            $('body').find('.sk-spinner').remove();
            if (data.code == 100) { //data.code==100  1  成功执行其他操作
                jsonParam.sFn && jsonParam.sFn(data);
            } else if (data.code == 2010) { //data.code==2010 用户失效
                var html = '<div style="line-height:30px; text-align:center;" id="dottThen">' +
                    '<span>用户已失效请点此：</span><a href="' + _href +
                    '" target="_self" style="color:#009688">去登录</a></div>';

                $layer.alertNoH('', html, ['200px', '30px']);
            } else if (data.code == 2001) { //没权限,3s后跳转指定页面
                parent.$layer.alerTip(data.message);
            } else {
                parent.$layer.alerTip(data.message);
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            $('body').find('.sk-spinner').remove();
            if (textStatus == 'timeout') {
                //ajaxErr(jsonParam.selectTimeout);
            } else {
                if (XMLHttpRequest.status == 404) {
                    //console.log(2);
                } else if (XMLHttpRequest.status == 502) {

                } else {

                }
            }
        }
    });
}

//截取url后面的参数
function Request(strName) {
    var strHref = document.location.href;
    var intPos = strHref.indexOf("?");
    var strRight = strHref.substr(intPos + 1);
    var arrTmp = strRight.split("&");
    for (var i = 0; i < arrTmp.length; i++) {
        var arrTemp = arrTmp[i].split("=");
        if (arrTemp[0].toUpperCase() == strName.toUpperCase())
            return arrTemp[1];
    }
    return undefined;
}

//固定金额小数后2位toFix()  str格式的字符串
function toFixed(str) {
    var dInx = str.indexOf('.');
    if (dInx > 0)
        if (str.charAt(dInx + 1) && str.charAt(dInx + 2)) {
            str = str.substring(0, dInx + 3)
        } else {
            str = str.substring(0, dInx + 3) + '0';
        }
    else {
        str = str + '.00';
    }
    return str;
}